package com.sdonkey.score.util;

/**
 * 表单验证工具类
 *
 * @author MengXue
 * @version 1.0
 */
public class FormValidateUtil {
	/**
	 * 验证字符串是否为空
	 *
	 * @param str
	 *            字符串
	 * @return 为true时说明字符串为空
	 */
	public static boolean isEmpty(String str) {
		return str == null || "".equals(str);
	}

	/**
	 * 验证用户手机是否符合格式
	 *
	 * @param str
	 *            用户手机
	 * @return
	 */
	public static boolean isModel(String str) {
		return (!isEmpty(str)) && str.matches("1[3|4|5|7|8]\\d{9}");
	}

	/**
	 * 验证用户邮箱是否符合格式
	 *
	 * @param str
	 *            用户邮箱
	 * @return
	 */
	public static boolean isEmail(String str) {
		return (!isEmpty(str)) && str.matches("\\w+@\\w+(\\.\\w+)+");
	}

	/**
	 * 验证用户密码是否符合格式
	 *
	 * @param str
	 *            用户密码
	 * @return
	 */
	public static boolean isPassword(String str) {
		return (!isEmpty(str)) && str.matches("[0-9a-zA-Z]{6,20}");
	}

	/**
	 * 验证用户昵称是否符合格式
	 *
	 * @param str
	 *            用户昵称
	 * @return
	 */
	public static boolean isUsername(String str) {
		return (!isEmpty(str)) && str.matches("[\\u4e00-\\u9fa5\\w]{1,50}");
	}

	/**
	 * 验证码校验
	 *
	 * @param sysCode
	 *            原验证码
	 * @param usrCode
	 *            用户输入验证码
	 * @param isStrict
	 *            是否严格验证大小写
	 * @return
	 */
	public static boolean isCode(String sysCode, String usrCode, boolean isStrict) {
		return !(isEmpty(usrCode) || isEmpty(sysCode)) && (isStrict ? sysCode.equals(usrCode) : sysCode.equalsIgnoreCase(usrCode));
	}
}
